home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.26
/
filereq
/
aslreq.unit.p
< prev
next >
Wrap
Text File
|
1995-04-23
|
2KB
|
82 lines
UNIT aslreq;
{$Projekt MyTools}
INTERFACE
USES Intuition;
TYPE STRING100=STRING[100];
FUNCTION aslreq(titel:STR; VAR Datei,Pfad:String100;wo:p_window):BOOLEAN;
FUNCTION OpenAsl(version : Integer) : BOOLEAN;
PROCEDURE CloseAsl;
FUNCTION libversion(versionsnummer:SHORT):BOOLEAN;
IMPLEMENTATION
{$incl "libraries/asl.h", "asl.lib"}
VAR Requ : p_FileRequester;
Tags : ARRAY[0..4] OF TagItem;
FUNCTION libversion;
VAR lib:p_library;
BEGIN
lib:=intuitionbase;
libversion:=(lib^.lib_version>=versionsnummer);
END;
FUNCTION OpenASL;
BEGIN
AslBase := OpenLibrary(ASLNAME,version);
IF AslBase = NIL THEN OpenAsl := False ELSE OpenAsl := True;
END;
PROCEDURE CloseASL;
BEGIN
IF AslBase <> NIL THEN CloseLibrary(AslBase);
AslBase := NIL;
END;
FUNCTION aslreq;
VAR p_datei,p_pfad:^STRING100;
BEGIN
p_datei:=^datei;
p_pfad :=^pfad;
aslreq:=FALSE;
IF OpenASL(36) THEN
BEGIN
Tags[0]:=TagItem(ASL_Hail,LONG(titel));
Tags[1]:=TagItem(ASL_File,LONG(p_datei));
Tags[2]:=tagItem(ASL_Dir,LONG(p_pfad));
Tags[3]:=TagItem(ASL_window,LONG(wo));
Tags[4].ti_tag:=TAG_DONE;
Requ:=AllocAslRequest(ASL_FileRequest,^Tags);
IF Requ<>NIL THEN
BEGIN
IF aslrequest(Requ,^tags) THEN
BEGIN
p_Pfad:=Requ^.rf_Dir;
pfad:=p_pfad^;
IF (pfad<>'') AND (pfad[length(pfad)] <> ':')
AND (pfad[length(pfad)] <> '/')
THEN pfad:=pfad+'/';
p_datei:=Requ^.rf_File;
datei:=p_datei^;
aslreq:=TRUE;
END
ELSE; {aslreq:=FALSE;} { Keine Datei angewählt }
FreeAslRequest(Requ);
END
ELSE; { Keine requesterstruktur }
END
ELSE; { keine asl.lib }
END;
BEGIN
aslbase:=NIL;
END.